home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr12 / qemm70tn.zip / EX13FLOW.TEC < prev    next >
Text File  |  1993-06-08  |  36KB  |  846 lines

  1.  
  2.             Exception #13 Advanced Troubleshooting
  3.  
  4.  
  5.   This QEMM 7 technote is an abridged version of a technical
  6.   bulletin that is available through our standard support channels.
  7.   The information contained in this version pertains ONLY to QEMM
  8.   version 7.0.  If you need information relating to earlier versions
  9.   of QEMM you can obtain the unabridged version from the following
  10.   sources:
  11.  
  12.   Quarterdeck Technical Support BBS:  EX13FLOW.TEC
  13.                          CompuServe:  EX13FL.ZIP
  14.                               Q/FAX:  #232
  15.  
  16.  
  17.   Subject: A step-by-step, flowchart-like procedure for solving
  18.   problems that generate Exception #12 or Exception #13 error
  19.   messages.
  20.  
  21.  
  22.   YES, this document IS long.  PLEASE do not be intimidated by its
  23.   length, as you will only need to refer to portions of it.
  24.  
  25.   PLEASE NOTE:  Unless otherwise indicated, all references to the
  26.   80386 processor apply to any 386 OR HIGHER processor.
  27. ------------------------------------------------------------------
  28.   Exception errors occur when your 80386 or higher processor
  29.   receives an invalid instruction.  QEMM has been designed to
  30.   capture these exception errors and display them to you.  If you
  31.   were using a 386 computer WITHOUT QEMM, the same error would
  32.   occur but your system would very likely hang as a result with no
  33.   warning.  If you are interested in a detailed, technical
  34.   explanation of Exception Errors, refer to our technical bulletin
  35.   EXCEPT13.TEC.  You do not need an in-depth knowledge of the
  36.   causes of such errors, however, in order to deal with them.
  37.   ----------------------------------------------------------------
  38.   This technical note will help you troubleshoot and fix most
  39.   Exception #13 problems.  We have included an example scenario for
  40.   you to follow in order to make this technote as "user friendly"
  41.   as possible.  This troubleshooting procedure will take several
  42.   steps to complete and you will be instructed to skip ahead to
  43.   different sections depending on the results of previous steps.
  44.   PLEASE FOLLOW ALL INSTRUCTIONS CAREFULLY.  At the end of each
  45.   step you will see three question marks (???) followed by a
  46.   question.  The answer to each question determines the next step
  47.   you must follow.
  48.  
  49.   This Technote follows the same EXACT procedures our technical
  50.   support staff uses to troubleshoot Exception #13 problems with
  51.   QEMM.
  52.  
  53.   EXAMPLE Exception #13 PROBLEM SCENARIO:  "I've installed QEMM and
  54.   have run the OPTIMIZE program to load my TSRs and device drivers
  55.   into High RAM.  I'm running a scanner program from my network
  56.   drive (drive F:).  I get into the scanner program without a
  57.   problem, but every time I start scanning I get an 'Exception #13'
  58.   error and my system crashes."
  59.  
  60.   SCENARIO ASSUMPTIONS:  QEMM has been loaded onto the local C:
  61.   drive and QEMM is installed in the C:\QEMM subdirectory.
  62.  
  63.                              (STEP 1)
  64.  
  65.        TRY TO RECREATE THE PROBLEM WITHOUT QEMM INSTALLED
  66.        --------------------------------------------------
  67.   QEMM will report an Exception #13 error message regardless of the
  68.   cause of the error.  We need to reboot your system WITHOUT QEMM
  69.   and try to recreate the problem to determine if QEMM is involved.
  70.   If QEMM is NOT loaded on your system and the software STILL has
  71.   problems, then QEMM is not involved with the error and you will
  72.   need to consult the documentation or contact the makers of the
  73.   software that is making your system crash.
  74.  
  75.   ??? Does your program need expanded memory in order to operate
  76.   properly? If so, please go to STEP 2.  (Otherwise proceed with
  77.   this STEP). Proceed with this step if you are uncertain if your
  78.   program uses expanded memory.
  79.  
  80.   We will need to reboot your computer without QEMM loaded.  To
  81.   accomplish this, hold down the <Alt> key immediately after you
  82.   hear a beep on bootup.  QEMM will post a message telling you to
  83.   press <Escape> to unload QEMM, or any other key to continue with
  84.   QEMM. Press <Escape>, and run your Setup program.  If you are
  85.   using the DOS-UP feature from QEMM version 7.0 you will first see
  86.   a message asking if you want to unload DOSDATA.  Press <Escape> to
  87.   unload DOS-UP, then hold down the <Alt> key again until you see
  88.   the message telling you to press <Escape> to unload QEMM.  Once
  89.   you computer has rebooted without QEMM, try to recreate the
  90.   Exception #13 problem.
  91.  
  92.   ??? If you do not have enough memory to run your program, go to
  93.   STEP 2.
  94.  
  95.   ??? If the problem still exists, go to STEP B.
  96.  
  97.   ??? If the problem goes away, go to STEP 2.
  98.  
  99.                              (STEP 2)
  100.  
  101.           QUICK-FIX TROUBLESHOOTING PARAMETERS FOR QEMM
  102.           ---------------------------------------------
  103.   This second step is intended for the advanced QEMM user who is
  104.   familiar and comfortable with editing and adding parameters to
  105.   the QEMM386.SYS line of the CONFIG.SYS file.  If you are not
  106.   familiar with this process, please skip ahead to STEP 3 now,
  107.   where you will be given examples about how to edit and add
  108.   parameters to QEMM.
  109.  
  110.   If the following two scenarios do not apply to your Exception #13
  111.   problem or do not help RESOLVE the problem, then please go to
  112.   STEP 3 (the next step) and remove the parameters specified below.
  113.  
  114.   Scenario #1:  If, when your machine crashes, you notice that the
  115.   video text or graphics is altered (you see a blank screen, part
  116.   of the screen is altered, strange lines are displayed across the
  117.   screen, the colors change) add the following parameters to the
  118.   end of the QEMM386.SYS line of the CONFIG.SYS file:
  119.  
  120.      X=A000-C7FF VF:N VR:N
  121.  
  122.   Scenario #2:  If, when your machine crashes, you notice that the
  123.   hard disk (or floppy disk or CD-ROM) is being accessed, add the
  124.   following parameters to the end of the QEMM386.SYS line of the
  125.   CONFIG.SYS file:
  126.  
  127.      X=F000-FFFF  X=C800-CFFF  DB=4  ROM
  128.  
  129.   (If you already had the ROM parameter at the end of the
  130.   QEMM386.SYS line, then REMOVE it from the QEMM386.SYS line at
  131.   this time.  If the scenario #2 parameters resolve your problem,
  132.   try removing the X=C800-CFFF parameter. (Keep the other 3
  133.   parameters for now.)  If the problem now occurs, then put back
  134.   the X=C800-CFFF parameter.  Next try removing DB=4.  If the
  135.   problem does not reoccur, you do not need that parameter.  If it
  136.   does, then you do need it.
  137.  
  138.   If the above parameters eliminated the problem, refer to the
  139.   instructions in STEP 6 to narrow down the areas of High RAM that
  140.   must be excluded and reclaim as much High RAM as possible.
  141.  
  142.                              (STEP 3)
  143.  
  144.             DETERMINING THE FREQUENCY OF THE PROBLEM
  145.             ----------------------------------------
  146.   Troubleshooting Exception #13 errors can be difficult if the
  147.   problem occurs infrequently -- for instance, every couple of
  148.   days/weeks with no discernable pattern.  In order to troubleshoot
  149.   ANY problem, you must be able to reproduce it.  Otherwise, how
  150.   can you know it is fixed when you fix it?
  151.  
  152.   If the Exception #13 error occurs every time you run a particular
  153.   application or you have been experiencing Exception #13 errors
  154.   regularly with a given application, then we can attempt to
  155.   troubleshoot the problem systematically. If the problem occurs
  156.   frequently, please go to STEP 4. If the problem is not frequent,
  157.   you must try to determine a pattern by which you can recreate the
  158.   error on a frequent basis and then proceed with this technote.
  159.  
  160.   PLEASE NOTE:  Crashes which occur infrequently are usually
  161.   hardware related problems.  These random crashes cannot be
  162.   resolved by reconfiguring or removing QEMM.
  163.  
  164.                              (STEP 4)
  165.  
  166.              DETERMINING WHETHER STEALTH ROM IS INVOLVED
  167.              -------------------------------------------
  168.  
  169.   In version 6.00 of QEMM, Quarterdeck introduced the Stealth ROM
  170.   feature which can create nearly 100K more High RAM than earlier
  171.   versions (or up to 115K more on PS/2 systems.)  The Stealth ROM
  172.   feature is invoked with the parameter ST:M or ST:F on the
  173.   "DEVICE=C:\QEMM\QEMM386.SYS ..." line of your CONFIG.SYS file
  174.   (located in the root directory of your bootup drive).  Your
  175.   Exception #13 problem may be related to the Stealth ROM feature
  176.   of QEMM, if you are using it. Check your CONFIG.SYS file for the
  177.   ST:M or ST:F parameter.
  178.  
  179.   ??? If the QEMM386.SYS line DOES NOT have the ST:M or ST:F
  180.   parameter, go on to STEP 5.
  181.  
  182.   If you are using Stealth ROM, we need to remove all Stealth-
  183.   related parameters (ST:M, ST:F, XST=, XSTI=, DBF=, FSTC, FRAME=)
  184.   to test whether Stealth ROM is involved with your Exception #13
  185.   problem.  Here is an example:
  186.  
  187.   DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF ST:M XST=C000
  188.                                                      <---delete-->
  189.  
  190.   Edit your CONFIG.SYS file and remove the Stealth-related
  191.   parameter(s), then reboot your computer and try to recreate the
  192.   Exception #13 error.
  193.  
  194.   ??? If the problem still exists, please go to STEP 5.
  195.  
  196.   ??? If the problem goes away, it was due to a conflict with
  197.   Stealth ROM. At this point you should refer to our technical
  198.   bulletin STEALTH.TEC, a troubleshooting guide for Stealth-related
  199.   problems. This technote was installed in your QEMM\TECHNOTE
  200.   directory when you installed QEMM 7.
  201.  
  202.                              (STEP 5)
  203.  
  204.       DETERMINING THE MEMORY LOCATION OF THE EXCEPTION #13 ERROR
  205.       ----------------------------------------------------------
  206.   The memory address at which the Exception #13 error occurred may
  207.   give us a clue as to what is causing the problem.  The following
  208.   is an example of an Exception #13 error message:
  209.  
  210.      QEMM: Exception #13 at C9F6:0173.       <---------------------
  211.      Error code: 0000
  212.      AX=240A BX=0000 CX=0000 DX=0000 SI=0000 DI=0000 BP=0001
  213.      DS=29F6 ES=29F6 SS=29F6 SP=D4F9 Flags=7202
  214.      Instruction: 6F 72 20 72 65 61 64 69 6E 67 20 2E 53 59 4D
  215.      Do you want to (T)erminate the program, (R)eboot,
  216.      or disable QEMM and try to (C)ontinue?
  217.  
  218.   We are only concerned with the first line which gives us the
  219.   address at which the error occurred.   The address is always
  220.   represented by four digits followed by a colon and four more
  221.   digits. (XXXX:YYYY)  In this case the address is C9F6:0173.  We
  222.   are only concerned with the XXXX number (in our example C9F6).
  223.  
  224.   ??? If the Hexadecimal number of XXXX is in the range from:
  225.  
  226.     0000 through 9999  go to STEP 7.
  227.     A000 through FFFE  go to STEP 6.
  228.     FFFF               go to STEP 7.
  229.  
  230.                              (STEP 6)
  231.  
  232.                     AVOIDING HIGH RAM CONFLICTS
  233.                     ---------------------------
  234.   Exception #13 errors in the range from A000 up to FFFE are
  235.   located in the upper memory area between 640K and 1024K.  They
  236.   are usually caused by one of the following:
  237.  
  238.      The first situation involves a bus-mastering device (usually a
  239.      SCSI drive controller or network card) which conflicts with
  240.      areas of High RAM. Some of these devices come with a driver
  241.      (called a VDS driver) written by the manufacturer.  VDS
  242.      drivers prevent memory conflicts between bus-mastering devices
  243.      and memory managers.
  244.  
  245.      The second situation relates to conflicts between QEMM and an
  246.      adapter ROM (or RAM) which are both trying to use the same
  247.      memory addresses.  For example:  If you have a network card
  248.      that takes up 16K of memory and QEMM fails to detect this,
  249.      QEMM will create High RAM in the SAME memory location the
  250.      network card is using.  If your software then tries to access
  251.      the network card, the network ROM/RAM code will not be found.
  252.      (Instead, your software will try to execute the contents of
  253.      the High Ram area, into which another program may be loaded,
  254.      causing your machine to crash.)
  255.  
  256.   Adding the following two parameters to the QEMM386.SYS device
  257.   line in of your CONFIG.SYS file can help in either case:
  258.  
  259.   1)  DB=4  [This parameter can solve problems with bus-mastering
  260.   hard drive controller cards.  It will not help if the bus-
  261.   mastering device is something OTHER than a hard drive controller.
  262.   In such cases your only recourse is to obtain a VDS driver from
  263.   the manufacturer.]
  264.  
  265.      NOTE:  Beginning with version 7.0, QEMM (by default) creates a
  266.      2K disk buffer (the equivalent of adding DB=2 to the QEMM
  267.      line) when it detects a bus-mastering hard drive controller.
  268.      There are situations under which such a device will not be
  269.      detected, however.
  270.  
  271.    2)  Use one of the following:
  272.  
  273.      'X=A000-AFFF' if the error occurs in the range of A000-AFFF or
  274.      'X=B000-BFFF' if the error occurs in the range of B000-BFFF or
  275.      'X=C000-CFFF' if the error occurs in the range of C000-CFFF or
  276.      'X=D000-DFFF' if the error occurs in the range of D000-DFFF or
  277.      'X=E000-EFFF' if the error occurs in the range of E000-EFFF or
  278.      'X=F000-FFFF' if the error occurs in the range of F000-FFFF
  279.  
  280.   Here is an EXAMPLE of what your QEMM device line looks like:
  281.  
  282.      DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  283.  
  284.   Using the EXAMPLE Exception #13 memory address from the last
  285.   STEP, (at C9F6), we will edit the line as follows:
  286.  
  287.      DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF DB=4 X=C000-CFFF
  288.  
  289.   Save the CONFIG.SYS file.  Now reboot your machine and try to
  290.   recreate the Exception #13 problem.
  291.  
  292.   ??? If the problem still exists, go to STEP 7.
  293.  
  294.   ??? If the problem goes away, try removing the DB=4 parameter
  295.   from the QEMM386.SYS line.  If your machine crashes, then
  296.   obviously you need this parameter.  You may want to contact the
  297.   manufacturer of the bus-mastering device to inquire about a VDS
  298.   driver, which is a preferable solution.  For a detailed
  299.   description of VDS drivers and bus-mastering devices, refer to
  300.   BUS-MAST.TEC technote.  (See STEP 4 for information on obtaining
  301.   technical bulletins.)
  302.  
  303.   Next try removing the X=C000-CFFF parameter (remember, the 'C' is
  304.   an example. You may be using 'A','B','D','E', or 'F' instead.  If
  305.   your machine crashes, then obviously you need this parameter.  If
  306.   so, we will try to narrow down this area (which is 64K, a
  307.   significant amount of memory) in order to create as much High RAM
  308.   as possible.
  309.  
  310.   The best way to determine which area(s) should be excluded is to
  311.   run QEMM's Analysis procedure.  For a detailed description of
  312.   Analysis, refer to chapter nine of your QEMM manual or see our
  313.   technical bulletin EXCLUDE.TEC.  Once you have performed an
  314.   Analysis of your system and determined which area(s) need to be
  315.   excluded, you should rerun Optimize.
  316.  
  317.                              (STEP 7)
  318.  
  319.                 CREATE A CLEAN ENVIRONMENT FOR QEMM
  320.                 -----------------------------------
  321.   To determine whether QEMM is involved in the problem, we must
  322.   create a clean environment by removing ALL lines from the
  323.   CONFIG.SYS and AUTOEXEC.BAT files which are not necessary to
  324.   create problem.
  325.  
  326.   First, make back-up copies of your CONFIG.SYS and AUTOEXEC.BAT
  327.   files (which are located in the root directory) because we are
  328.   going to modify these files. At the DOS prompt type:
  329.  
  330.      1) C:
  331.      2) CD\
  332.      3) COPY CONFIG.SYS CONFIG.OLD
  333.      4) COPY AUTOEXEC.BAT AUTOEXEC.OLD
  334.  
  335.   Now edit your CONFIG.SYS file so that only the lines that are
  336.   ABSOLUTELY necessary to recreate the Exception #13 error remain.
  337.   You need the QEMM386.SYS line and the FILES= line as a minimum,
  338.   but you should delete every other line unless it is ABSOLUTELY
  339.   needed to recreate the problem.
  340.  
  341.      The following is an example CONFIG.SYS file for our example:
  342.  
  343.      #1   DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  344.       2   DEVICE=C:\UTIL\CACHE.SYS
  345.      #3   FILES=25
  346.       4   BUFFERS=30
  347.      #5   DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  348.       6   DEVICE=C:\DOS\ANSI.SYS
  349.       7   DEVICE=C:\FAXING\FAX.SYS
  350.      #8   SHELL=C:\COMMAND.COM /P /E:768
  351.      #9   DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
  352.       10  STACKS=0,0
  353.  
  354.   The # indicates lines which are ABSOLUTELY necessary to include
  355.   in the CONFIG.SYS file in order to recreate the example problem.
  356.   At this time you may want to refer to the example problem
  357.   scenario located on the first page of this technote.)
  358.  
  359.      line  1) We NEED the QEMM driver to recreate the problem.
  360.      line  2) A disk cache IS NOT necessary to recreate the
  361.               problem.
  362.      line  3) We NEED to include the FILES= statement.
  363.      line  4) The BUFFERS statement IS NOT needed.
  364.      line  5) The scanner IS part of our problem.
  365.      line  6) ANSI.SYS IS NOT needed to recreate the problem.
  366.      line  7) The fax board has NOTHING to do with the problem.
  367.      line  8) The SHELL= statement tells DOS where the command
  368.               processor is.
  369.      line  9) We NEED to log on to the network to run the scanner
  370.               program.
  371.      line 10) The Stacks statement IS NOT necessary.
  372.  
  373.   If you are not sure if a line is absolutely necessary in your
  374.   CONFIG.SYS or AUTOEXEC.BAT files, check your DOS manual or the
  375.   documentation that came with your hardware and software for
  376.   information.
  377.  
  378.      This leaves our CONFIG.SYS with:
  379.  
  380.           DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  381.           FILES=25
  382.           DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  383.           SHELL=C:\COMMAND.COM /P /E:768
  384.           DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
  385.  
  386.   Since you ran QEMM's OPTIMIZE program, some of your device
  387.   drivers are loaded into upper memory.  For now we want these
  388.   drivers loaded low, as some drivers behave incorrectly when
  389.   loaded high.
  390.  
  391.      DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  392.             <------delete--------->
  393.  
  394.   Boost the FILES= to at least 40, and our final CONFIG.SYS looks
  395.   like:
  396.  
  397.           DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  398.           FILES=40
  399.           DEVICE=C:\SCAN\SCANNER.SYS 256
  400.           SHELL=C:\COMMAND.COM /P /E:768
  401.           DEVICE=C:\NETW\NETWORK.SYS
  402.  
  403.   (Your CONFIG.SYS may only need the QEMM386.SYS and FILES=40 line.
  404.   Do not be concerned if your CONFIG.SYS is not 5 lines long.)
  405.  
  406.   Save the CONFIG.SYS, and now we will modify your AUTOEXEC.BAT
  407.   file.  The following is an example AUTOEXEC.BAT file for our
  408.   example:
  409.  
  410.          ECHO OFF
  411.          PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  412.          C:\QEMM\LOADHI C:\UTIL\FASTKEYB
  413.          PROMPT $P$G
  414.          C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  415.          SET TEMP=F:\WINDOWS\TEMP
  416.          FAXSETUP 125
  417.  
  418.   The only lines we need to keep are the PATH, PROMPT, and NETWORK
  419.   LOGIN.
  420.  
  421.      This leaves our AUTOEXEC.BAT follows:
  422.  
  423.           PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  424.           PROMPT $P$G
  425.           C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  426.  
  427.   Again, some of our device drivers are loaded high as a result of
  428.   Optimize.  We need to remove the LOADHI information from these
  429.   lines.
  430.  
  431.      C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  432.      <----delete------->
  433.  
  434.      This leaves our final AUTOEXEC.BAT with:
  435.  
  436.           PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  437.           PROMPT $P$G
  438.           C:\NETW\LOGIN
  439.  
  440.   (Your AUTOEXEC.BAT may only need the PATH and PROMPT lines.  Do
  441.   not be concerned if your AUTOEXEC.BAT is not 3 or more lines
  442.   long.)
  443.  
  444.   Save the AUTOEXEC.BAT file.  Now reboot your machine and try to
  445.   recreate the Exception #13 problem.
  446.  
  447.   ??? If the problem still exists, go to STEP 8.
  448.  
  449.   ??? If the problem goes away, go to STEP C.
  450.  
  451.                              (STEP 8)
  452.  
  453.                    MODIFY THE QEMM386.SYS LINE
  454.                    ---------------------------
  455.   Now we will modify your QEMM386.SYS line in the CONFIG.SYS file
  456.   by adding parameters (and possibly removing some of the
  457.   parameters that are already on the line) to avoid POSSIBLE
  458.   conflicts involving QEMM.   Modify the line as follows:
  459.  
  460.   DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF FILL:N TM:N
  461.        CF:N SH:NONE DB=4
  462.  
  463.   DO NOT ADD THE RAM PARAMETER TO THIS LINE.
  464.  
  465.   PLEASE NOTE:  ALL parameters are typed ON THE SAME LINE, not on
  466.   two lines as they appear in our document.
  467.  
  468.   ??? If you are using the Stealth ROM parameter (ST:M or ST:F), DO
  469.   NOT include Stealth ROM at this time.  BUT make a note of it, as
  470.   you will add this parameter back to the QEMM386.SYS line in STEP
  471.   14.  You will also want to remove any Stealth-related parameters
  472.   you may be using at this time: XST=, XSTI=, DBF=, FSTC, FRAME=.
  473.  
  474.   If your QEMM386.SYS line previously contained a parameter to
  475.   EXCLUDE an area of memory such as EXCLUDE= or X= or AROM= or
  476.   ARAM=, you should also add this parameter to the end of the
  477.   QEMM386.SYS line.  DO NOT add any INCLUDE= or I= parameters, even
  478.   if you previously used them.  In our example, we previously had
  479.   the AROM=C800-CBFF parameter.  Adding this parameter to the above
  480.   DEVICE line gives us the following QEMM line:
  481.  
  482.   DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF FILL:N TM:N
  483.        CF:N SH:NONE DB=4 AROM=C800-CBFF
  484.  
  485.   (AGAIN, these parameters all go on one line.)
  486.  
  487.   Save the new CONFIG.SYS file and reboot your machine.  Try to
  488.   recreate the Exception #13 problem.
  489.  
  490.   ??? If the problem still exists, go to STEP 9
  491.  
  492.   ??? If the problem goes away, go to STEP 12.
  493.  
  494.                              (STEP 9)
  495.  
  496.          TRY TO RECREATE THE PROBLEM WITHOUT QEMM INSTALLED
  497.          --------------------------------------------------
  498.   In order to determine whether QEMM is responsible for your
  499.   problem we need to run your software without QEMM loaded.  If
  500.   your program uses expanded memory, then another memory manager
  501.   (such as the ones that come with DOS 5/6 or Windows) must be
  502.   loaded in place of QEMM.
  503.  
  504.   ??? Does your program need expanded memory in order to operate
  505.   properly? If so, please go to STEP 10.  (Otherwise proceed with
  506.   this STEP).
  507.  
  508.   Reboot your machine without QEMM.  To disable QEMM temporarily,
  509.   hold down the <Alt> key immediately after you hear a beep on
  510.   bootup.  QEMM will post a message telling you to press <Escape>
  511.   to unload QEMM, or any other key to continue with QEMM. Press
  512.   <Escape>, and run your Setup program.  If you are using the DOS-
  513.   UP feature from QEMM version 7.0 you will first see a message
  514.   asking if you want to unload DOSDATA.  Press <Escape> to unload
  515.   DOS-UP, then hold down the <Alt> key again until you see the
  516.   message telling you to press <Escape> to unload QEMM.    Once
  517.   your system has rebooted without QEMM, try to recreate the
  518.   Exception #13 problem.
  519.  
  520.   ??? If the problem still exists, go to STEP B.
  521.  
  522.   ??? If the problem goes away, go to STEP A.
  523.  
  524.                               (STEP 10)
  525.  
  526.           USE ANOTHER EXPANDED MEMORY MANAGER INSTEAD OF QEMM
  527.           ---------------------------------------------------
  528.   The problem you are having may be related to the use of expanded
  529.   memory, in which case the result would be the same regardless of
  530.   which memory manager you use.  If your system has problems with
  531.   another expanded memory manager loaded, then your program has a
  532.   problem with expanded memory in general and QEMM is not to blame
  533.   for the crashes you have been experiencing.  If this is the case,
  534.   you should contact the publisher of your program for information
  535.   on using it with an expanded memory manager.
  536.  
  537.   You probably have either DOS 5 or DOS 6 and you may have
  538.   Microsoft Windows as well.  All of these come with an expanded
  539.   memory manager.  Loaded together, HIMEM.SYS and either EMM386.SYS
  540.   or EMM386.EXE provide services similar to those provided by QEMM.
  541.   We will now modify your CONFIG.SYS to use these drivers instead
  542.   of QEMM and try to recreate the problem.  First, make a backup
  543.   copy of the "clean environment" version of CONFIG.SYS file by
  544.   entering the following 3 commands at the DOS prompt:
  545.  
  546.      1) C:
  547.      2) CD\
  548.      3) COPY CONFIG.SYS CONFIG.Q
  549.  
  550.   HIMEM.SYS and EMM386.EXE are probably in your \DOS, \WINDOWS, or
  551.   root directory.  We will assume they are in the \DOS directory.
  552.   Edit the CONFIG.SYS file as follows:
  553.  
  554.      DEVICE=C:\DOS\HIMEM.SYS
  555.      DEVICE=C:\DOS\EMM386.EXE ON 4096   [Use a lower number if your
  556.      FILES=40                            system has less than four
  557.      DEVICE=C:\SCAN\SCANNER.SYS 256      megs of RAM]
  558.      SHELL=C:\COMMAND.COM /P /E:768
  559.      DEVICE=C:\NETW\NETWORK.SYS
  560.  
  561.   Save the CONFIG.SYS, reboot, and try to recreate Exception #13
  562.   problem.
  563.  
  564.   ??? If the problem still exists, then go to STEP B.
  565.  
  566.   ??? If the problem goes away, go to STEP 11.
  567.  
  568.                             (STEP 11)
  569.  
  570.           CONFIGURE QEMM SIMILARLY TO THE OTHER DRIVERS
  571.           ---------------------------------------------
  572.   Now we want to configure QEMM to emulate HIMEM and EMM386.
  573.   MANIFEST can provide the information we need.  Reboot your
  574.   computer and type the following:
  575.  
  576.      CD\QEMM
  577.      MFT
  578.  
  579.   Tap the DOWN-ARROW key once to view the First Meg/Overview
  580.   screen.  The box in the center of the screen looks something like
  581.   this:
  582.  
  583.      Memory Area   Size   Description
  584.      0000 - 003F     1K   Interrupt Area
  585.      0040 - 004F   0.3K   BIOS Data Area
  586.      0050 - 006F   0.5K   System Data
  587.      0070 - 0FB0    61K   DOS
  588.      0FB1 - 21F8    73K   Program Area
  589.      21F9 - 9FFF   504K   [Available]
  590.      Conventional memory ends at 640K
  591.      A000 - AFFF    64K   VGA Graphics
  592.      B000 - B7FF    32K   Unused
  593.      B800 - BFFF    32K   VGA Text
  594.      C000 - C7FF    32K   Video ROM
  595.      C800 - CFFF    32K   Unused
  596.      D000 - DFFF    64K   Page Frame       <---------------------
  597.      E000 - EFFF    64K   Unused
  598.      F000 - FFFF    64K   System ROM
  599.  
  600.   We will use the QEMM parameter FRAME= to place the Page Frame at
  601.   the same memory address used by EMM386.  In our example, the Page
  602.   Frame begins at D000. Hit the ESCAPE key twice to exit MANIFEST
  603.   and type the following commands at the DOS prompt:
  604.  
  605.      C:
  606.      CD\
  607.      REN CONFIG.SYS CONFIG.M   [Saves the CONFIG.SYS w/other
  608.      drivers]
  609.      COPY CONFIG.Q CONFIG.SYS  [Brings back the STEP-8 CONFIG.SYS]
  610.  
  611.   Add the following parameters to your QEMM device line:
  612.  
  613.      VF:N VR:N TR:N LD:Y XBDA:N MR:N RH:N VDS:N FRAME=XXXX
  614.  
  615.   Replace XXXX with the starting address of the Page Frame as set
  616.   up by EMM386. In our example, this is FRAME=D000.
  617.  
  618.   The QEMM386.SYS line for our EXAMPLE now looks like this:
  619.  
  620.   DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF FILL:N
  621.       TM:N CF:N SH:NONE AROM=C800-CBFF NV NVR NTR LD NX NR NRH
  622.       NOVDS FRAME=XXXX
  623.  
  624.   (These parameters all go on the same line.)
  625.  
  626.   Reboot and try to recreate the Exception #13 problem.
  627.  
  628.   ??? If the problem still exists , then go to STEP A.
  629.  
  630.   ??? If the problem goes away, then go to STEP 12.
  631.  
  632.                              (STEP 12)
  633.  
  634.                     CREATING HIGH RAM FOR QEMM
  635.                     --------------------------
  636.   We have properly configured QEMM without High RAM to work with
  637.   your program. Now add the RAM parameter back to the QEMM386.SYS
  638.   line in your CONFIG.SYS to create High RAM.
  639.  
  640.   Reboot your machine and try to recreate the Exception #13
  641.   problem.
  642.  
  643.   ??? If the problem reoccurs, then go to STEP 13.
  644.  
  645.   ??? If the problem does not occur, then proceed below:
  646.  
  647.   At this point we want to recover as much high RAM as possible.
  648.   Edit the QEMM device line and delete the following parameters
  649.   from the QEMM device line in your CONFIG.SYS file ONE AT A TIME.
  650.  
  651.        X=A000-C7FF, X=F000-FFFF, and CF:N
  652.  
  653.   Each time you remove a parameter, save the revised CONFIG.SYS and
  654.   reboot the machine, then try to recreate the problem.  If
  655.   removing a parameter does not cause the problem to reoccur, then
  656.   you DO NOT need that parameter.   Try the other two to determine
  657.   whether you need them.
  658.  
  659.   ??? If the problem still does not occur and you WERE using the
  660.   Stealth ROM feature (ST:M or ST:F) go to STEP 14.
  661.  
  662.   ??? If the problem still does not occur and you WERE NOT using
  663.   the Stealth ROM feature (ST:M or ST:F) go to STEP C.
  664.  
  665.                               (STEP 13)
  666.  
  667.                    ELIMINATING HIGH RAM CONFLICTS
  668.                    ------------------------------
  669.   A conflict appears to exist between one of your adapters and
  670.   QEMM.  QEMM is not recognizing that your adapter is using upper
  671.   memory addresses and is mapping memory into the same space.  We
  672.   will exclude all High RAM areas to test this.  If it is the case,
  673.   we will systematically narrow down the area that needs to be
  674.   excluded.  At the DOS prompt type the following to start
  675.   MANIFEST:
  676.  
  677.      CD\QEMM
  678.      MFT
  679.  
  680.   Tap the DOWN-ARROW key once to see the First Meg/Overview screen.
  681.   The box in the center of the screen will look something like
  682.   this:
  683.  
  684.      Memory Area   Size   Description
  685.      0000 - 003F     1K   Interrupt Area
  686.      0040 - 004F   0.3K   BIOS Data Area
  687.      0050 - 006F   0.5K   System Data
  688.      0070 - 0FB0    61K   DOS
  689.      0FB1 - 21F8    73K   Program Area
  690.      21F9 - 9FFF   504K   [Available]
  691.      Conventional memory ends at 640K
  692.      A000 - AFFF    64K   VGA Graphics
  693.      B000 - B7FF    32K   Unused
  694.      B800 - BFFF    32K   VGA Text
  695.      C000 - C7FF    32K   Video ROM
  696.      C800 - CFFF    32K   High RAM       <------------
  697.      D000 - DFFF    64K   Page Frame
  698.      E000 - EFFF    64K   High RAM       <------------
  699.      F000 - FFFF    64K   System ROM
  700.  
  701.   We want to exclude these areas of high RAM.  For our example we
  702.   would add the following to the QEMM device line:
  703.  
  704.      X=C800-CFFF  X=E000-EFFF
  705.  
  706.   Add an EXCLUDE statement for each area of high RAM you see in the
  707.   First Meg Overview screen.  Save the CONFIG.SYS file, reboot the
  708.   machine, and try to recreate the problem.
  709.  
  710.   ??? If the problem occurs, then go to STEP A.
  711.  
  712.   ??? If the problem goes away, you have a memory conflict and we
  713.   must now narrow down the address range in upper memory that is
  714.   causing the conflict. This will allow you to recover as much High
  715.   RAM as possible. In our example the areas of high RAM are
  716.   comprised of six different 16K areas: C800-CBFF, CC00-CFFF, E000-
  717.   E3FF, E400-E7FF, E800- EBFF, EC00-EFFF. To narrow down the area,
  718.   we use the X= parameter, trying all six of these combinations,
  719.   one at a time.  Most likely, you will need only one of the
  720.   exclusions.  In some cases, however, you may need to exclude more
  721.   than a 16K block.
  722.  
  723.   ??? Once you have determined the area that needs excluding, if
  724.   you WERE using Stealth ROM (ST:M or ST:F) go to STEP 14.
  725.  
  726.   ??? Once you have determined the area that needs excluding, if
  727.   you WERE NOT using Stealth ROM (ST:M or ST:F) go to STEP C.
  728.  
  729.                              (STEP 14)
  730.  
  731.                ADDING THE STEALTH ROM PARAMETER BACK
  732.                -------------------------------------
  733.   We have configured QEMM with High RAM to work with your program.
  734.   We will now add Stealth ROM (and any Stealth-related parameters)
  735.   to the QEMM device line. Reboot your machine and try to recreate
  736.   the problem.
  737.  
  738.   ??? If the problem still does not occur, then go to STEP C.
  739.  
  740.   ??? If the problem does reoccur, then your Exception #13 problem
  741.   is due to a conflict with Stealth ROM.  You should refer to our
  742.   Stealth ROM troubleshooting technical note (STEALTH.TEC) for
  743.   further help. This technote can be found in your QEMM\TECHNOTE
  744.   directory.
  745.  
  746.   Once you have resolved the Stealth-related problem go to STEP C.
  747.   ------------------------------------------------------------------
  748.  
  749.  
  750.                            (STEP - A)
  751.  
  752.   Your problem requires further investigation.  Please call our
  753.   Technical Support line at (310) 392-9701 for further assistance.
  754.   We will be happy to help out.   When you call, please have the
  755.   following information at hand:
  756.  
  757.   1)  Your original CONFIG.SYS and AUTOEXEC.BAT
  758.       (now CONFIG.OLD and AUTOEXEC.OLD)
  759.   2)  CONFIG.SYS     (QEMM386.SYS and FILES=)
  760.   3)  AUTOEXEC.BAT   (PATH and PROMPT)
  761.   4)  CONFIG.Q       (If you have gone thru STEP 10)
  762.   50  CONFIG.M       (If you have gone thru STEP 11)
  763.  
  764.   Be sure to mention that you have been using EX13FLOW.TEC.
  765.  
  766.                             (STEP - B)
  767.  
  768.   The program in question has problems EVEN WHEN QEMM IS NOT
  769.   LOADED.  QEMM is not responsible for the system crashes you are
  770.   experiencing.  You should consult the documentation or contact
  771.   the makers of the resident program or driver which is making your
  772.   system crash.
  773.  
  774.                             (STEP - C)
  775.  
  776.   CONGRATULATIONS!  You have successfully configured QEMM and your
  777.   program to work together.  Enter the following six commands at
  778.   the DOS prompt:
  779.  
  780.      C:
  781.      CD\
  782.      RENAME AUTOEXEC.BAT AUTOEXEC.Q
  783.      COPY CONFIG.SYS CONFIG.Q
  784.      COPY CONFIG.OLD CONFIG.SYS     [Brings back your original
  785.      file.]
  786.      COPY AUTOEXEC.OLD AUTOEXEC.BAT [Brings back your original
  787.      file.]
  788.  
  789.   Edit the CONFIG.SYS file and replace the original QEMM386.SYS
  790.   line with the one you have created by using this technote (now in
  791.   CONFIG.Q) and make sure FILES= at least 40.  Reboot the machine
  792.   and try to recreate the Exception #13 crash.
  793.  
  794.   ??? If the problem no longer occurs, it is solved.
  795.  
  796.   ??? If the problem now occurs, then go to STEP D.
  797.  
  798.                             (STEP - D)
  799.  
  800.   Since your problem does not occur with the stripped down
  801.   CONFIG.SYS and AUTOEXEC.BAT but does occur with a full CONFIG.SYS
  802.   and AUTOEXEC.BAT file, there is a command line in one of these
  803.   files that is causing the Exception #13 problem.  To determine
  804.   which file the command line is in, we will bring back the
  805.   AUTOEXEC.BAT (Path and Prompt) that we previously created in STEP
  806.   7:
  807.  
  808.      Enter the following 4 commands at the DOS prompt:
  809.  
  810.              C:
  811.              CD\
  812.              COPY AUTOEXEC.BAT AUTOEXEC.OLD
  813.              COPY AUTOEXEC.Q AUTOEXEC.BAT
  814.  
  815.   Reboot your machine and try to recreate the Exception #13 crash.
  816.  
  817.   ??? If the problem still exists, than we know that the command
  818.   line giving us a problem is located in the CONFIG.SYS file.  If
  819.   the problem goes away, the command line is in the original
  820.   AUTOEXEC.BAT file.
  821.  
  822.   Now you must systematically determine which command line is
  823.   giving you trouble.  Try deleting one line at a time (if you have
  824.   a long CONFIG.SYS or AUTOEXEC.BAT file try deleting 2-3 lines at
  825.   a time) until you find out which line is causing the problem.
  826.   When you finally determine which line it is:
  827.  
  828.   1) If the device driver or TSR is loaded into High RAM, use the
  829.   procedure in STEP 7 to load it low and see if this corrects the
  830.   problem.
  831.  
  832.   2) Read the manual or call the technical support for the product
  833.   which you are loading to determine where the problem might lie.
  834.  
  835.   3) Some TSR's and device drivers can be configured to use
  836.   conventional memory, XMS, EMS, or a combination of these.  See
  837.   how it is currently configured and try the other options.
  838.  
  839.   4) You may need to permanently remove that line.
  840.  
  841.   ******************************************************************
  842.           Trademarks are property of their respective owners.
  843.   This technical note may be copied and distributed freely as long
  844.   as it is distributed in its entirety and it is not distributed
  845.   for profit.  Copyright (C) 1993 by Quarterdeck Office Systems
  846.   ******************* E N D   O F   F I L E ************************